package Entities;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author Ferrari
 */
@Entity
@Table(name = "hd_tipo_problema")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "HdTipoProblema.findAll", query = "SELECT h FROM HdTipoProblema h"),
    @NamedQuery(name = "HdTipoProblema.findByCoTipoProblema", query = "SELECT h FROM HdTipoProblema h WHERE h.coTipoProblema = :coTipoProblema"),
    @NamedQuery(name = "HdTipoProblema.findByDeTipoProblema", query = "SELECT h FROM HdTipoProblema h WHERE h.deTipoProblema = :deTipoProblema")})
public class HdTipoProblema implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "co_tipo_problema")
    private Integer coTipoProblema;
    @Basic(optional = false)
    @Column(name = "de_tipo_problema")
    private String deTipoProblema;
    @Basic(optional = false)
    @Column(name = "de_titulo_problema")
    private String deTituloProblema;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "coTipoProblema")
    private List<HdChamados> hdChamadosList;

    public HdTipoProblema() {
    }

    public HdTipoProblema(Integer coTipoProblema) {
        this.coTipoProblema = coTipoProblema;
    }

    public HdTipoProblema(Integer coTipoProblema, String deTipoProblema) {
        this.coTipoProblema = coTipoProblema;
        this.deTipoProblema = deTipoProblema;
    }

    public Integer getCoTipoProblema() {
        return coTipoProblema;
    }

    public void setCoTipoProblema(Integer coTipoProblema) {
        this.coTipoProblema = coTipoProblema;
    }

    public String getDeTipoProblema() {
        return deTipoProblema;
    }

    public void setDeTipoProblema(String deTipoProblema) {
        this.deTipoProblema = deTipoProblema;
    }

    @XmlTransient
    public List<HdChamados> getHdChamadosList() {
        return hdChamadosList;
    }

    public void setHdChamadosList(List<HdChamados> hdChamadosList) {
        this.hdChamadosList = hdChamadosList;
    }

    public String getDeTituloProblema() {
        return deTituloProblema;
    }

    public void setDeTituloProblema(String deTituloProblema) {
        this.deTituloProblema = deTituloProblema;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (coTipoProblema != null ? coTipoProblema.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof HdTipoProblema)) {
            return false;
        }
        HdTipoProblema other = (HdTipoProblema) object;
        if ((this.coTipoProblema == null && other.coTipoProblema != null) || (this.coTipoProblema != null && !this.coTipoProblema.equals(other.coTipoProblema))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Entities.HdTipoProblema[ coTipoProblema=" + coTipoProblema + " ]";
    }
    
}
